const jwt = require('jsonwebtoken')
const SECRET = 'login-demo secret' // 密匙

// 生成token
function createToken({uid,exp}) {   
    const payload = {
        sub:uid, // token的所有人
        exp:exp, //过期时间
    }

    const token = jwt.sign(payload,SECRET)

    return token

}

// 获取解密的负载参数
function getPayload(token) {
    return jwt.verify(token,SECRET)
}

// 从请求头中获取token
function getToken(req) {
    let token = ''
    token = req.headers.authorization && req.headers.authorization.split(' ')[1]
    return token
}

const setToken = {
    createToken,
    getPayload,
    getToken
}

module.exports = setToken